package com.cskaoyan.mapper.marketMapper;

import com.cskaoyan.bean.marketBean.MarketCategory;
import com.cskaoyan.bean.marketBean.MarketCategoryExample;
import com.cskaoyan.bean.marketBean.MarketCategory_zyl;
import com.cskaoyan.bean.marketBean.MarketGoodsExample;
import com.cskaoyan.bean.po.example.WXGoodsListExamplePO;
import com.cskaoyan.bean.vo.zy.ZYMarketCategoryL1VO;
import com.cskaoyan.bean.vo.zy.ZYMarketCategoryListVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface MarketCategoryMapper {
    List<MarketCategory_zyl> selectByPrimaryKey_goods_zyl(Integer id);

    List<MarketCategory_zyl> selectByExample_list_zyl();

    long countByExample(MarketCategoryExample example);

    int deleteByExample(MarketCategoryExample example);

    int deleteByPrimaryKey(Integer id);

    int insert(MarketCategory record);

    int insertSelective(MarketCategory record);

    List<MarketCategory> selectByExample(MarketCategoryExample example);

    MarketCategory selectByPrimaryKey(Integer id);

    int updateByExampleSelective(@Param("record") MarketCategory record, @Param("example") MarketCategoryExample example);

    int updateByExample(@Param("record") MarketCategory record, @Param("example") MarketCategoryExample example);

    int updateByPrimaryKeySelective(MarketCategory record);

    int updateByPrimaryKey(MarketCategory record);

    List<ZYMarketCategoryL1VO> categoryL1();

    List<ZYMarketCategoryListVO> categoryList();

    List<MarketCategory> selectMarketCategory(@Param("goodsListExamplePO") WXGoodsListExamplePO goodsListExamplePO);

    List<MarketCategory> selectCatalogsByPid(@Param("id") Integer id);

    List<MarketCategory> selectCatalogsByLevel(@Param("firstLevle") String firstLevle);

    List<MarketCategory> selectMarketCategory();

    MarketCategory selectCurrentMarketGoodsCategory(@Param("category") MarketCategory category);

    List<MarketCategory> selectMarketMainCategory(@Param("category") MarketCategory marketCategory);

    List<MarketCategory> selectBrotherMarketCategory(@Param("category") MarketCategory marketCategory);

    List<MarketCategory> selectMarketCategoryByPid(@Param("pid") Integer categoryId);

    MarketCategory selectParentMarketGoodsCategory(@Param("category") MarketCategory category);
}
